package com.maixy.dailydemo.algorithm.audition;

/**
 * @ClassName YanghuiTriangle
 * @Description
 * 杨辉三角的规律
 * 第n行有n个数字.
 * 每一行的开始和结尾数字都为1.
 * 用二维数组表示就是a[i][0]=1;  a[i][j]=1(当i==j时)；
 *
 * 第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。
 * 用二维数组表示就是 a[i+1][j]=a[i][j-1]+a[i][j];
 * @Date 2021/7/4 15:50
 * @Author maixy
 */
public class YanghuiTriangle {

    public static void main(String[] args) {
        int rows = 10;

        for (int i = 0; i < rows; i++) {
            int number = 1;
            //%20s 表示输出20位字符串, 不够20位右对齐。
            System.out.format("%" + (rows - i) * 2 + "s", "");
            for (int j = 0; j <= i; j++) {
                //%4d 表示输出4位整型数, 不够4位右对齐。
                System.out.format("%4d", number);
                number = number * (i - j) / (j + 1);
            }
            System.out.println();
        }
    }
}
